home *** CD-ROM | disk | FTP | other *** search
- BRINGING UP THE ADA REPOSITORY HELP SYSTEM
-
- by Richard Conn
-
-
- The following is a terminal session which illustrates the steps
- which may be taking in bringing up the Help System available for the
- DoD Ada Software Repository on SIMTEL20. The actual displays may vary
- from system to system due to differences in the programs used, particularly
- the FTP (File Transfer Protocol) program and your Ada compiler.
-
- This session was performed on a VAX 11/785 running VMS 4.2 and
- DEC Ada V1.1-10. The Defense Data Network host computer is NOSC-TECR.
-
- Comments, prefixed with "--", are scattered throughout the session.
-
- Address questions to ADA-SW-REQUEST@SIMTEL20.
-
-
- -- Session Begins
- -- Run the FTP program, connect to the SIMTEL20 host computer,
- -- log in, and obtain the files HELP.SRC and HELP.DAT from the
- -- directory PD:<ADA.ONLINE-DOC>
-
-
- $ ftp simtel20
- Connection Opened
- Using 8-bit bytes.
- <SIMTEL20.ARPA FTP Server Process 5Z(37)-7 at Tue 3-Dec-85 23:29-MST
- NOSC-TECR FTP User Process (Version 3.00)
- *login anonymous
- <ANONYMOUS user ok, send real ident as password.
- Password:
- <User ANONYMOUS logged in at Tue 3-Dec-85 23:29-MST, job 20.
- *get pd:<ada.online-doc>help.src help.src
- <Port 10.99 at host 26.1.0.35 accepted.
- <ASCII retrieve of PD:<ADA.ONLINE-DOC>HELP.SRC.1 started.
- 59644 bytes in 19 seconds--25112 bps
- <Transfer completed. 61868 (8) bytes transferred.
- *get pd:<ada.online-doc>help.dat help.dat
- <Port 10.100 at host 26.1.0.35 accepted.
- <ASCII retrieve of PD:<ADA.ONLINE-DOC>HELP.DAT.3 started.
- 6715 bytes in 2 seconds--26856 bps
- <Transfer completed. 6933 (8) bytes transferred.
- *quit
- exit
-
- $ dir
-
- Directory DBA4:[CONTR13.DEMO]
-
- HELP.DAT;1 14 (RE,RWED,RE,RE)
- HELP.SRC;1 123 (RE,RWED,RE,RE)
-
- Total of 2 files, 137 blocks.
-
- --
- -- Run the PAGER tool to tear apart the paged HELP.SRC file into its
- -- component files. The PAGER tool's source code and documentation
- -- can be found in PD:<ADA.STARTER-KIT>
-
-
- $ pager
- PAGER, Version 1.6
- Type HELP for Help
- PAGER> unpage help.src
- help.dis
- 25 Lines
- help_sysdep.ada
- 84 Lines
- help.ada
- 718 Lines
- help_analyze.ada
- 274 Lines
- help_build.ada
- 239 Lines
- help.doc
- 620 Lines
- help.rno
- 243 Lines
- PAGER> x
-
-
- -- Now edit the file HELP_SYSDEP.ADA, which is the system-dependencies
- -- file. The only change I made in this edit session is the name of
- -- the default Help file. I could have also changed other parameters,
- -- such as the sequence required to clear the CRT screen, if I desired.
-
-
- $ ed help_sysdep.ada
-
- 1
-
- *%wh
-
- 1
- 2 --|MODULE: HELP_SYSDEP
- 3 --|AUTHOR: CONN
- 4 --|LOCATION: PDL-TOOLS
- 5 --|SEE_ALSO: HELP
- 6 --|SEE_ALSO: HELP_ANALYZE
- 7 --|SEE_ALSO: HELP_BUILD
- 8 --|IEEE_PDL: SUPPORT_MODULE
- 9 --|DESIGN_STATUS : DONE
- 10 --|IMPLEMENTATION_STATUS : DONE
- 11 --|DOCUMENTATION_STATUS : DONE
- 12 --|DATE_RELEASED : 9 Sep 85
- 13 --|DATE_LAST_MODIFIED : 11 Sep 85
- 14 --|ABSTRACT:
- 15 --| HELP_SYSDEP is a Systems-Dependency package for the HELP
- 16 --| system of programs. It contains terminal-specific information
- 17 --| (such as the number of lines on a screen and number of columns)
- .
- 18 --| Other information is also provided, including a CLEAR_SCREEN
- 19 --| routine. If more than one terminal is to be used and/or a
- 20 --| clear screen or different clear screen sequences are used or
- 21 --| not available, simply make the body of this routine a "null;";
- 22 --| if only one terminal is used or several terminal types with the
- 23 --| same clear screen sequence, set up the CLEAR_SCREEN routine to
- 24 --| issue this sequence.
- 25 --
- 26 with DIRECT_IO;
- 27 package HELP_SYSDEP is
- 28
- 29 --
- 30 -- HELP_FILE_NAME is the default name of the help file
- 31 -- It may be a fully-qualified file name (which includes directory
- reference)
- 32 -- so that the program will find it from any directory the program
- runs from.
- 33 --
- 34 HELP_FILE_NAME : constant STRING := "USER4:[ADAREPOS.TIPDL.EXE]PD
- L_TOOLS.HLP"
- 35 ;
- 36
- 37 --
- 38 -- SCREEN_WIDTH and SCREEN_LENGTH are terminal attributes
- 39 --
- 40 SCREEN_WIDTH : constant NATURAL := 75;
- 41 SCREEN_LENGTH : constant NATURAL := 23;
- 42
- 43 --
- 44 -- Description of a screen
- 45 --
- 46 subtype SCREEN_TEXT is STRING(1 .. SCREEN_WIDTH);
- 47 type SCREEN_LINE is
- 48 record
- 49 LINE : SCREEN_TEXT;
- 50 LAST : NATURAL;
- 51 end record;
- 52 type SCREEN_LINE_ARRAY is array(1 .. SCREEN_LENGTH) of SCREEN_LIN
- E;
- 53 type SCREEN is
- 54 record
- 55 LINES : SCREEN_LINE_ARRAY;
- 56 LAST : NATURAL;
- 57 end record;
- 58
- 59 --
- 60 -- System-Dependent (Terminal-Dependent) Clear Screen routine
- 61 -- If not implemented, should contain a body of "null;"
- 62 --
- 63 procedure CLEAR_SCREEN;
- 64
- 65 --
- 66 -- Random-Access File I/O for HELP programs
- 67 --
- 68 package SDIRECT is
- 69 new DIRECT_IO(ELEMENT_TYPE => SCREEN);
- 70
- 71 end HELP_SYSDEP;
- 72
- 73 with TEXT_IO;
- 74 package body HELP_SYSDEP is
- 75
- 76 procedure CLEAR_SCREEN is
- 77 begin
- 78 TEXT_IO.PUT(ASCII.ESC);
- 79 TEXT_IO.PUT_LINE("[2J");
- 80 TEXT_IO.PUT(ASCII.ESC);
- 81 TEXT_IO.PUT("[1;1H");
- 82 end CLEAR_SCREEN;
- 83
- 84 end HELP_SYSDEP;
- [EOB]
-
- *'user4'
-
- 34 HELP_FILE_NAME : constant STRING := "USER4:[ADAREPOS.TIPDL.EXE]PD
- L_TOOLS.HLP"
-
- -- Here is where I make the substitution:
- -- Change "USER4:[ADAREPOS.TIPDL.EXE]PDL_TOOLS" into
- -- "DBA4:[CONTR13.EXE]AHELP"
- -- The new line is indicated, and the default help file is named AHELP.HLP
-
-
- *s/USER4:[ADAREPOS.TIPDL.EXE]PDL_TOOLS/DBA4:[CONTR13.EXE]AHELP/
-
- 34 HELP_FILE_NAME : constant STRING := "DBA4:[CONTR13.EXE]AHELP.HLP"
- 1 substitution
-
- *exit
-
- DBA4:[CONTR13.DEMO]HELP_SYSDEP.ADA;2 84 lines
-
- -- Now, I create a library to contain the object files generated by the
- -- Ada compilations (which will be performed shortly) and identify this
- -- library as the one I wish to use. Such is the purpose of the two ACS
- -- commands which follow.
-
-
- $ acs create library [.lib]
-
- Library DBA4:[CONTR13.DEMO.LIB] created
-
- $ acs set library [.lib]
-
- Current program library is DBA4:[CONTR13.DEMO.LIB]
-
- -- The following are the compilations and links required. HELP_SYSDEP.ADA
- -- must be compiled before the tools. The tools are HELP_ANALYZE.ADA,
- -- HELP_BUILD.ADA, and HELP.ADA, and they may be compiled in any order after
- -- HELP_SYSDEP.ADA has been compiled.
-
-
- $ ada help_sysdep
-
- $ ada help_analyze
-
- $ ada help_build
-
- $ ada help
-
- $ acs link help_analyze
-
- Invoking the VAX/VMS Linker
-
- $ acs link help_build
-
- Invoking the VAX/VMS Linker
-
- $ acs link help
-
- Invoking the VAX/VMS Linker
-
- -- Finally, I run HELP_BUILD to create the required Direct-Access file
- -- (named AHELP.HLP from my edit of HELP_SYSDEP.ADA) from the data file
- -- I copied from SIMTEL20 (which was HELP.DAT).
-
-
- $ run help_build
- HELP File Builder, Version 1.0
- Source Text File > help.dat
- Help File to Build (RETURN for Default)>
- Number of Screens Written: 28
- Number of Headers Written: 28
-
- -- HELP_ANALYZE displays the contents of the Direct-Access file created
- -- by HELP_BUILD
-
-
- $ run help_analyze
- HELP Analyzer, Version 1.0
- Help File (RETURN for Default)>
- 1 ADA: Start = 1 Stop = 1
- 1 BENCHMARKS: Start = 2 Stop = 2
- 1 COMPILATION-ORDER: Start = 3 Stop = 3
- 1 COMPONENTS: Start = 4 Stop = 4
- 1 CROSS-REFERENCE: Start = 5 Stop = 5
- 1 DDN: Start = 6 Stop = 6
- 1 EDITORS: Start = 7 Stop = 7
- 1 EDUCATION: Start = 8 Stop = 8
- 1 EXTERNAL-TOOLS: Start = 9 Stop = 9
- 1 FORMGEN: Start = 10 Stop = 10
- 1 GENERAL: Start = 11 Stop = 11
- 1 GKS: Start = 12 Stop = 12
- 1 MANAGEMENT-TOOLS: Start = 13 Stop = 13
- 1 MATH: Start = 14 Stop = 14
- 1 MENU: Start = 15 Stop = 15
- 1 MESSAGE-HANDLING: Start = 16 Stop = 16
- 1 METRICS: Start = 17 Stop = 17
- 1 NOSC-TOOLS: Start = 18 Stop = 18
- 1 PAGER: Start = 19 Stop = 19
- 1 POINTERS: Start = 20 Stop = 20
- 1 PRETTY-PRINTERS: Start = 21 Stop = 21
- 1 SPELLER: Start = 22 Stop = 22
- 1 STARTER-KIT: Start = 23 Stop = 23
- 1 STUBBER: Start = 24 Stop = 24
- 1 STYLE: Start = 25 Stop = 25
- 1 TOOLS: Start = 26 Stop = 26
- 1 VIRTERM: Start = 27 Stop = 27
- 1 SPECIAL_NOTES: Start = 28 Stop = 28
-
- -- Finally, HELP runs the Help System on the default Help file AHELP.HLP
-
-
- $ run help
- HELP, Version 1.2
- Help File (RETURN for Default)>
- ADA BENCHMARKS COMPILATION-ORDER
- COMPONENTS CROSS-REFERENCE DDN
- EDITORS EDUCATION EXTERNAL-TOOLS
- FORMGEN GENERAL GKS
- MANAGEMENT-TOOLS MATH MENU
- MESSAGE-HANDLING METRICS NOSC-TOOLS
- PAGER POINTERS PRETTY-PRINTERS
- SPELLER STARTER-KIT STUBBER
- STYLE TOOLS VIRTERM
- SPECIAL_NOTES
-
-
-
-
-
-
-
-
-
-
-
-
-
- Level 0 Menu: (Exit, Selection) math
- 1 MATH
-
- This subdirectory contains packages of math routines. All
- routines are written in Ada. Routines for trig functions, exponential
- functions, matrix manipulation, bit manipulation, and others are
- contained here.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Level 0 Topic: 1 MATH (Print, Exit, Up) x
-
-
-